home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
u_man
/
cat3
/
Tk
/
place.z
/
place
Wrap
Text File
|
1998-10-30
|
16KB
|
265 lines
ppppllllaaaacccceeee((((3333TTTTkkkk)))) ppppllllaaaacccceeee((((3333TTTTkkkk))))
NNNNAAAAMMMMEEEE
place - Geometry manager for fixed or rubber-sheet placement
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
ppppllllaaaacccceeee _w_i_n_d_o_w _o_p_t_i_o_n _v_a_l_u_e ?_o_p_t_i_o_n _v_a_l_u_e ...?
ppppllllaaaacccceeee ccccoooonnnnffffiiiigggguuuurrrreeee _w_i_n_d_o_w _o_p_t_i_o_n _v_a_l_u_e ?_o_p_t_i_o_n _v_a_l_u_e ...?
ppppllllaaaacccceeee ffffoooorrrrggggeeeetttt _w_i_n_d_o_w
ppppllllaaaacccceeee iiiinnnnffffoooo _w_i_n_d_o_w
ppppllllaaaacccceeee ssssllllaaaavvvveeeessss _w_i_n_d_o_w
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
The placer is a geometry manager for Tk. It provides simple fixed
placement of windows, where you specify the exact size and location of
one window, called the _s_l_a_v_e, within another window, called the _m_a_s_t_e_r.
The placer also provides rubber-sheet placement, where you specify the
size and location of the slave in terms of the dimensions of the master,
so that the slave changes size and location in response to changes in the
size of the master. Lastly, the placer allows you to mix these styles of
placement so that, for example, the slave has a fixed width and height
but is centered inside the master.
If the first argument to the ppppllllaaaacccceeee command is a window path name or
ccccoooonnnnffffiiiigggguuuurrrreeee then the command arranges for the placer to manage the geometry
of a slave whose path name is _w_i_n_d_o_w. The remaining arguments consist of
one or more _o_p_t_i_o_n-_v_a_l_u_e pairs that specify the way in which _w_i_n_d_o_w's
geometry is managed. If the placer is already managing _w_i_n_d_o_w, then the
_o_p_t_i_o_n-_v_a_l_u_e pairs modify the configuration for _w_i_n_d_o_w. In this form the
ppppllllaaaacccceeee command returns an empty string as result. The following
_o_p_t_i_o_n-_v_a_l_u_e pairs are supported:
----iiiinnnn _m_a_s_t_e_r
_M_a_s_t_e_r specifes the path name of the window relative to which _w_i_n_d_o_w
is to be placed. _M_a_s_t_e_r must either be _w_i_n_d_o_w's parent or a
descendant of _w_i_n_d_o_w's parent. In addition, _m_a_s_t_e_r and _w_i_n_d_o_w must
both be descendants of the same top-level window. These
restrictions are necessary to guarantee that _w_i_n_d_o_w is visible
whenever _m_a_s_t_e_r is visible. If this option isn't specified then the
master defaults to _w_i_n_d_o_w's parent.
----xxxx _l_o_c_a_t_i_o_n
_L_o_c_a_t_i_o_n specifies the x-coordinate within the master window of the
anchor point for _w_i_n_d_o_w. The location is specified in screen units
(i.e. any of the forms accepted by TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss) and need not lie
within the bounds of the master window.
PPPPaaaaggggeeee 1111
ppppllllaaaacccceeee((((3333TTTTkkkk)))) ppppllllaaaacccceeee((((3333TTTTkkkk))))
----rrrreeeellllxxxx _l_o_c_a_t_i_o_n
_L_o_c_a_t_i_o_n specifies the x-coordinate within the master window of the
anchor point for _w_i_n_d_o_w. In this case the location is specified in
a relative fashion as a floating-point number: 0.0 corresponds to
the left edge of the master and 1.0 corresponds to the right edge of
the master. _L_o_c_a_t_i_o_n need not be in the range 0.0-1.0. If both ----xxxx |
and ----rrrreeeellllxxxx are specified for a slave then their values are summed. |
For example, ----rrrreeeellllxxxx 0000....5555 ----xxxx ----2222 positions the left edge of the slave 2 |
pixels to the left of the center of its master.
----yyyy _l_o_c_a_t_i_o_n
_L_o_c_a_t_i_o_n specifies the y-coordinate within the master window of the
anchor point for _w_i_n_d_o_w. The location is specified in screen units
(i.e. any of the forms accepted by TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss) and need not lie
within the bounds of the master window.
----rrrreeeellllyyyy _l_o_c_a_t_i_o_n
_L_o_c_a_t_i_o_n specifies the y-coordinate within the master window of the
anchor point for _w_i_n_d_o_w. In this case the value is specified in a
relative fashion as a floating-point number: 0.0 corresponds to the
top edge of the master and 1.0 corresponds to the bottom edge of the
master. _L_o_c_a_t_i_o_n need not be in the range 0.0-1.0. If both ----yyyy and |
----rrrreeeellllyyyy are specified for a slave then their values are summed. For |
example, ----rrrreeeellllyyyy 0000....5555 ----xxxx 3333 positions the top edge of the slave 3 pixels|
below the center of its master.
----aaaannnncccchhhhoooorrrr _w_h_e_r_e
_W_h_e_r_e specifies which point of _w_i_n_d_o_w is to be positioned at the
(x,y) location selected by the ----xxxx, ----yyyy, ----rrrreeeellllxxxx, and ----rrrreeeellllyyyy options.
The anchor point is in terms of the outer area of _w_i_n_d_o_w including
its border, if any. Thus if _w_h_e_r_e is sssseeee then the lower-right corner
of _w_i_n_d_o_w's border will appear at the given (x,y) location in the
master. The anchor position defaults to nnnnwwww.
----wwwwiiiiddddtttthhhh _s_i_z_e
_S_i_z_e specifies the width for _w_i_n_d_o_w in screen units (i.e. any of the
forms accepted by TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss). The width will be the outer width
of _w_i_n_d_o_w including its border, if any. If _s_i_z_e is an empty string,
or if no ----wwwwiiiiddddtttthhhh or ----rrrreeeellllwwwwiiiiddddtttthhhh option is specified, then the width
requested internally by the window will be used.
----rrrreeeellllwwwwiiiiddddtttthhhh _s_i_z_e
_S_i_z_e specifies the width for _w_i_n_d_o_w. In this case the width is
specified as a floating-point number relative to the width of the
master: 0.5 means _w_i_n_d_o_w will be half as wide as the master, 1.0
means _w_i_n_d_o_w will have the same width as the master, and so on. If |
both ----wwwwiiiiddddtttthhhh and ----rrrreeeellllwwwwiiiiddddtttthhhh are specified for a slave, their values |
are summed. For example, ----rrrreeeellllwwwwiiiiddddtttthhhh 1111....0000 ----wwwwiiiiddddtttthhhh 5555 makes the slave 5 |
pixels wider than the master.
PPPPaaaaggggeeee 2222
ppppllllaaaacccceeee((((3333TTTTkkkk)))) ppppllllaaaacccceeee((((3333TTTTkkkk))))
----hhhheeeeiiiigggghhhhtttt _s_i_z_e
_S_i_z_e specifies the height for _w_i_n_d_o_w in screen units (i.e. any of
the forms accepted by TTTTkkkk____GGGGeeeettttPPPPiiiixxxxeeeellllssss). The height will be the outer
dimension of _w_i_n_d_o_w including its border, if any. If _s_i_z_e is an
empty string, or if no ----hhhheeeeiiiigggghhhhtttt or ----rrrreeeellllhhhheeeeiiiigggghhhhtttt option is specified,
then the height requested internally by the window will be used.
----rrrreeeellllhhhheeeeiiiigggghhhhtttt _s_i_z_e
_S_i_z_e specifies the height for _w_i_n_d_o_w. In this case the height is
specified as a floating-point number relative to the height of the
master: 0.5 means _w_i_n_d_o_w will be half as high as the master, 1.0
means _w_i_n_d_o_w will have the same height as the master, and so on. If|
both ----hhhheeeeiiiigggghhhhtttt and ----rrrreeeellllhhhheeeeiiiigggghhhhtttt are specified for a slave, their values |
are summed. For example, ----rrrreeeellllhhhheeeeiiiigggghhhhtttt 1111....0000 ----hhhheeeeiiiigggghhhhtttt ----2222 makes the slave |
2 pixels shorter than the master.
----bbbboooorrrrddddeeeerrrrmmmmooooddddeeee _m_o_d_e
_M_o_d_e determines the degree to which borders within the master are
used in determining the placement of the slave. The default and
most common value is iiiinnnnssssiiiiddddeeee. In this case the placer considers the
area of the master to be the innermost area of the master, inside
any border: an option of ----xxxx 0000 corresponds to an x-coordinate just
inside the border and an option of ----rrrreeeellllwwwwiiiiddddtttthhhh 1111....0000 means _w_i_n_d_o_w will
fill the area inside the master's border. If _m_o_d_e is oooouuuuttttssssiiiiddddeeee then
the placer considers the area of the master to include its border;
this mode is typically used when placing _w_i_n_d_o_w outside its master,
as with the options ----xxxx 0000 ----yyyy 0000 ----aaaannnncccchhhhoooorrrr nnnneeee. Lastly, _m_o_d_e may be
specified as iiiiggggnnnnoooorrrreeee, in which case borders are ignored: the area of
the master is considered to be its official X area, which includes
any internal border but no external border. A bordermode of iiiiggggnnnnoooorrrreeee
is probably not very useful.
If the same value is specified separately with two different options,
such as ----xxxx and ----rrrreeeellllxxxx, then the most recent option is used and the older
one is ignored.
The ppppllllaaaacccceeee ssssllllaaaavvvveeeessss command returns a list of all the slave windows for
which _w_i_n_d_o_w is the master. If there are no slaves for _w_i_n_d_o_w then an
empty string is returned.
The ppppllllaaaacccceeee ffffoooorrrrggggeeeetttt command causes the placer to stop managing the geometry
of _w_i_n_d_o_w. As a side effect of this command _w_i_n_d_o_w will be unmapped so
that it doesn't appear on the screen. If _w_i_n_d_o_w isn't currently managed
by the placer then the command has no effect. PPPPllllaaaacccceeee ffffoooorrrrggggeeeetttt returns an
empty string as result.
The ppppllllaaaacccceeee iiiinnnnffffoooo command returns a list giving the current configuration of
_w_i_n_d_o_w. The list consists of _o_p_t_i_o_n-_v_a_l_u_e pairs in exactly the same form
as might be specified to the ppppllllaaaacccceeee ccccoooonnnnffffiiiigggguuuurrrreeee command. If the
configuration of a window has been retrieved with ppppllllaaaacccceeee iiiinnnnffffoooo, that
configuration can be restored later by first using ppppllllaaaacccceeee ffffoooorrrrggggeeeetttt to erase
any existing information for the window and then invoking ppppllllaaaacccceeee ccccoooonnnnffffiiiigggguuuurrrreeee
PPPPaaaaggggeeee 3333
ppppllllaaaacccceeee((((3333TTTTkkkk)))) ppppllllaaaacccceeee((((3333TTTTkkkk))))
with the saved information.
FFFFIIIINNNNEEEE PPPPOOOOIIIINNNNTTTTSSSS
It is not necessary for the master window to be the parent of the slave
window. This feature is useful in at least two situations. First, for
complex window layouts it means you can create a hierarchy of subwindows
whose only purpose is to assist in the layout of the parent. The ``real
children'' of the parent (i.e. the windows that are significant for the
application's user interface) can be children of the parent yet be placed
inside the windows of the geometry-management hierarchy. This means that
the path names of the ``real children'' don't reflect the geometry-
management hierarchy and users can specify options for the real children
without being aware of the structure of the geometry-management
hierarchy.
A second reason for having a master different than the slave's parent is
to tie two siblings together. For example, the placer can be used to
force a window always to be positioned centered just below one of its
siblings by specifying the configuration
----iiiinnnn _s_i_b_l_i_n_g ----rrrreeeellllxxxx 0000....5555 ----rrrreeeellllyyyy 1111....0000 ----aaaannnncccchhhhoooorrrr nnnn ----bbbboooorrrrddddeeeerrrrmmmmooooddddeeee oooouuuuttttssssiiiiddddeeee
Whenever the sibling is repositioned in the future, the slave will be
repositioned as well.
Unlike many other geometry managers (such as the packer) the placer does
not make any attempt to manipulate the geometry of the master windows or
the parents of slave windows (i.e. it doesn't set their requested sizes).
To control the sizes of these windows, make them windows like frames and
canvases that provide configuration options for this purpose.
KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
geometry manager, height, location, master, place, rubber sheet, slave,
width
PPPPaaaaggggeeee 4444